Within the last few years, progress in digital technology has made the widespread use of compressed digital video signals practical. Standardization of common compression methods has resulted in the availability of new services and products. The Moving Picture Experts Group (MPEG) began in 1988 as a working group with the aim of defining standards for digital compression of audio-visual signals. The first MPEG standard, MPEG-1, was published in 1993 as a three-part standard defining audio and video compression coding methods and a multiplexing system for interleaving bits representing audio and video signals so that they can be played back together. MPEG-1 principally supports video coding up to about 1.5 megabits per second (Mb/s), providing quality similar to VHS and stereo audio at 192 b/s. MPEG-1 is used in the CD-i and Video-CD systems for storing video and audio on CD-ROM.
In 1995, MPEG published the MPEG-2 standard, which provides compression coding methods for coding standard-definition television at bit rates from about 3 to 15 Mb/s and for coding high-definition television at 15 to 30 Mb/s. MPEG-2 extends the stereo audio capabilities of MPEG-1 to multi-channel surround sound coding. MPEG-2 decoders will also decode MPEG-1 bit streams. In the MPEG-1 and -2 standards, the red, green and blue (RGB) video signals coming from a color camera are expressed as luminance (Y) and chrominance (UV) components. The chrominance bandwidth may be reduced relative to the luminance without significantly affecting the picture quality. The component (YUV) video signals are sampled and digitized to form discrete pixels. The terms 4:2:2 and 4:2:0 are often used to describe the sampling structure of the digital picture. The term 4:2:2 means that the chrominance is horizontally subsampled by a factor of two relative to the luminance, while the term 4:2:0 means that the chrominance is horizontally and vertically subsampled by a factor of two relative to the luminance.
FIG. 1 illustrates a block diagram of a typical statistical time division multiplexing (StatMux) system 2 that is used to interleave multiple video signals. The StatMux system 2 has a rate controller 3, multiple MPEG-2 encoders 4 and a multiplexer (Mux) 5. Each of the encoders 4 receives a video sequence and performs MPEG-2 compression and coding algorithms to produce a compressed and coded bit stream, which is then output to the MUX 5. The bit stream that is output from each of the encoders 4 and received by the Mux 5 may be a variable bit rate (VBR) bit stream. The bit streams output from the encoders 4 are also received by the rate controller 3, which processes the bit streams and outputs respective control signals to the encoders 4. The rate controller 3 processes the respective bit streams output from the respective encoders 4 to determine the amount by which the respective VBRs of the respective encoders 4 should be adjusted. The control signals output from the rate controller 3 and received by the encoders 4 cause the encoders 4 to adjust their respective compression/coding algorithm parameters to obtain an increased or decreased VBR. In general, the VBR depends on the complexity and predictability of the source picture and the effectiveness of motion-compensated prediction. For example, the VBRs of the encoders 4 may be decreased by increasing the degree of quantization applied during compression/coding, and vice versa. In FIG. 1, some or all of the encoders 4 may be transcoders.
The Mux 5 multiplexes the respective bit streams output from the respective encoders 4 and outputs the StatMux bits at the output of Mux 5. These bits may be stored in a buffer 6 before being transmitted over a network. The interleaved video bits will subsequently be read out of the buffer 6 at a constant bit rate (CBR) and transmitted over the network at the CBR.
The StatMux system 2 works well at adjusting the VBRs of the encoders 4, which, in effect, means that the encoders 4 vie for time slot space in the transmission channel 7 in accordance with their needs. This, in turn, results in a more efficient use of transmission line time because channels that are inactive are not allocated time slots, and channels that are less active are allocated fewer time slots than channels that are more active. The StatMux system 2 does not, however, address the allocation of time slots between video and data. For example, if the network is the Internet, the CBR video bit stream output from the Mux 5 or output from the buffer 6 must share the available bandwidth of a network channel (not shown) over which the data and the video are transmitted. The data may be any type of data, such as, for example, hypertext transfer protocol (http) data, ActiveX data, Java data, JavaScript data, cookies, etc. Currently, no mechanism exists for efficiently allocating time slots between the video bit stream and a data bit stream. Without such a mechanism, it is possible that services or products that rely on the transmission of video will fail or that performance of those services or products will be degraded.
Accordingly, a need exists for a system that efficiently allocates time slots between bit streams representing video and bit streams representing data.